package com.qjc.demo.train.hashmap;

/**
 * @ClassName: ListNode
 * @Description: 单链表
 * @Author: qjc
 * @Date: 2022/5/1 12:33 PM
 */
public class ListNode {
    // 头结点
    Node head;

    public void addNode(String key, String value) {
        //在外面设置了head
        if (head == null) return;
        // 创建节点
        Node node = new Node(key, value, null);
        // 临时节点
        Node tmp = head;
        while (true) {
            if (key.equals(tmp.key)) {
                // 如果可以相同，则替换value值
                tmp.value = value;
            }
            if (tmp.next == null) {
                break;
            }
            // 指向下一个节点
            tmp = tmp.next;
        }
        // 挂在最后一个节点
        tmp.next = node;
    }

    public String getVal(String key) {
        if (head == null) return null;
        // 只要一个节点
        if (head.next == null) {
            return head.value;
        } else {
            //遍历单链表
            Node tmp = head;
            while (tmp != null) {
                // 找到匹配的key
                if (key.equals(tmp.key)) {
                    return tmp.value;
                } else {
                    // 指向下一个节点
                    tmp = tmp.next;
                }
            }
            return null;
        }
    }


}
